/**
 * 左侧
 */
// 告警严重性分类
let alarmSeverity = [
  { 'count': 7, 'pendingCount': 7, 'severity': '3', 'severityName': '一般' },
  { 'count': 1, 'pendingCount': 1, 'severity': '2', 'severityName': '警告' },
];

// 主机组告警数（top10）
let hostGroupAlarmCount = [
  { 'count': 7, 'hostGroupName': 'Discovered hosts' },
  { 'count': 7, 'hostGroupName': 'windows主机' },
  { 'count': 1, 'hostGroupName': 'Linux主机' },
];

// 告警趋势
let alarmTrend = [
  { 'count': 1960, 'time': 1751760000000 },
  { 'count': 4227, 'time': 1751673600000 },
  { 'count': 15, 'time': 1751587200000 },
  { 'count': 7, 'time': 1751500800000 },
  { 'count': 3, 'time': 1751414400000 },
  { 'count': 19, 'time': 1751328000000 },
  { 'count': 1, 'time': 1751241600000 },
  { 'count': 2, 'time': 1750982400000 },
  { 'count': 2, 'time': 1750896000000 },
  { 'count': 1, 'time': 1750809600000 },
  { 'count': 2, 'time': 1750723200000 },
  { 'count': 5, 'time': 1750636800000 },
  { 'count': 2, 'time': 1750550400000 },
  { 'count': 2, 'time': 1750464000000 },
  { 'count': 4, 'time': 1750377600000 },
  { 'count': 58, 'time': 1750291200000 },
  { 'count': 15, 'time': 1750204800000 },
  { 'count': 11, 'time': 1750118400000 },
  { 'count': 13, 'time': 1750032000000 },
  { 'count': 223, 'time': 1749859200000 },
  { 'count': 51, 'time': 1749772800000 },
  { 'count': 2, 'time': 1749686400000 },
  { 'count': 7, 'time': 1749600000000 },
  { 'count': 1, 'time': 1749513600000 },
  { 'count': 6, 'time': 1749427200000 },
  { 'count': 5, 'time': 1749254400000 },
];

/**
 *  中间
 */
// 主机数量
let hostCount = { 'count': 3 };

// 监控失效主机
let disMonitoredHostCount = { 'count': 0 };

// 未归类主机
let unsortedHostCount = { 'count': 0 };

// 主机组数量
let hostGroupCount = { 'count': 25 };

/**
 *
 */
// 告警主机组数
let hostAlarmCount = { 'count': 2 };

// 待处理告警数
let pendingAlarmCount = { 'count': 8 };
// 监控服务机
let monitorServerCount = { 'count': 0 };
// 已处理告警数
let solvedAlarmCount = { 'count': 19154 };

/**
 * 地图
 */
const hostLocation = [
  {
    'count': 20,
    'hostName': 'sunflvm',
    'hostid': '10689',
    'lat': '45.756967', //纬度
    'lon': '126.642464', //经度
    'maxSeverity': '未分类',
  },
  {
    'count': 0,
    'hostName': '192.168.8.131',
    'hostid': '10690',
    'lat': '36.68',
    'lon': '117.04',
    'maxSeverity': '未分类',
  },
  {
    'count': 0,
    'hostName': '192.168.8.1',
    'hostid': '10691',
    'lat': '43.793198',
    'lon': '87.627002',
    'maxSeverity': '未分类',
  },
];

/**
 * 拓扑图
 */
let cytoscapeMapData = {
  'mapid': '2',
  'canvas': { 'width': '800', 'height': '600' },
  'background': '0',
  'elements': [
    {
      'selementid': '18',
      'elementtype': '0',
      'iconid_off': '150',
      'iconid_on': '0',
      'label': [
        { 'content': '192.168.8.131' },
        { 'content': '(192.168.8.131)' },
        { 'content': '正常', 'attributes': { 'fill': '#009900' } },
      ],
      'label_location': '-1',
      'x': '250',
      'y': '250',
      'iconid_disabled': '0',
      'iconid_maintenance': '0',
      'elementsubtype': '0',
      'areatype': '0',
      'viewtype': '0',
      'use_iconmap': '1',
      'evaltype': '0',
      'elements': [{ 'hostid': '10690', 'elementName': 'fcn-virtual-machine' }],
      'tags': [],
      'permission': 2,
      'selementid_orig': '18',
      'elementtype_orig': '0',
      'elementsubtype_orig': '0',
      'label_type': '0',
      'icon': '150',
      'highlight': null,
      'actions':
        '{"type":"map_element","data":{"sysmapid":"2","selementid":"18"}}',
    },
    {
      'selementid': '19',
      'elementtype': '0',
      'iconid_off': '150',
      'iconid_on': '0',
      'label': [
        { 'content': 'sunflvm' },
        { 'content': '(192.168.8.130)' },
        { 'content': '问题发生在 3', 'attributes': { 'fill': '#CC0000' } },
      ],
      'label_location': '-1',
      'x': '450',
      'y': '250',
      'iconid_disabled': '0',
      'iconid_maintenance': '0',
      'elementsubtype': '0',
      'areatype': '0',
      'viewtype': '0',
      'use_iconmap': '1',
      'evaltype': '0',
      'elements': [{ 'hostid': '10689', 'elementName': 'sunflvm' }],
      'tags': [],
      'permission': 2,
      'selementid_orig': '19',
      'elementtype_orig': '0',
      'elementsubtype_orig': '0',
      'label_type': '0',
      'icon': '150',
      'highlight': null,
      'actions':
        '{"type":"map_element","data":{"sysmapid":"2","selementid":"19"}}',
    },
  ],
  'links': [],
  'shapes': [],
  'aria_label':
    'automap, 2 中的 1 处于问题状态, 问题总计 3. 主机, 状态 问题, sunflvm\n(192 168 8 130), 问题发生在 3. 主机, 状态 OK, 192 168 8 131\n(192 168 8 131). ',
  'label_location': '0',
  'timestamp': '2025-07-06 16:58:50',
};

/**
 * 表格
 */

let pendingAlarmTableData = [
  {
    'acknowledged': 0,
    'clock': 1751616924,
    'eventId': 372812,
    'host': '192.168.8.1', // ip
    'ip': '192.168.8.1:10050',
    'itemId': 55584,
    'key_': 'service.info["WslInstaller",state]',
    'name': 'SUNFL21062901', // 主机
    'objectId': 27767,
    // 问题
    'pName':
      'Windows:"WslInstaller"(??? Linux ? Windows ???)????(?????automatic)',
    'port': '10050',
    'severity': 0, // 严重性
    'severityName': '未定义', // 严重性 名称
    'status': 0,
    'time': 1751616924000, // 时间
  },
  {
    'acknowledged': 0,
    'clock': 1751616917,
    'eventId': 372811,
    'host': '192.168.8.1',
    'ip': '192.168.8.1:10050',
    'itemId': 55517,
    'key_': 'service.info["hzMonService",state]',
    'name': 'SUNFL21062901',
    'objectId': 27700,
    'pName':
      'Windows:"hzMonService"(VMware Horizon View Agent Monitoring Service)????(?????automatic)',
    'port': '10050',
    'severity': 1,
    'severityName': '信息',
    'status': 0,
    'time': 1751616917000,
  },
  {
    'acknowledged': 0,
    'clock': 1751616913,
    'eventId': 372807,
    'host': '192.168.8.1',
    'ip': '192.168.8.1:10050',
    'itemId': 55513,
    'key_': 'service.info["GoogleUpdaterService138.0.7194.0",state]',
    'name': 'SUNFL21062901',
    'objectId': 27696,
    'pName':
      'Windows:"GoogleUpdaterService138.0.7194.0"(Google ?????? (GoogleUpdaterService138.0.7194.0))????(?????automatic)',
    'port': '10050',
    'severity': 2,
    'severityName': '警告',
    'status': 0,
    'time': 1751616913000,
  },
  {
    'acknowledged': 0,
    'clock': 1751616912,
    'eventId': 372806,
    'host': '192.168.8.1',
    'ip': '192.168.8.1:10050',
    'itemId': 55512,
    'key_': 'service.info["GoogleUpdaterInternalService138.0.7194.0",state]',
    'name': 'SUNFL21062901',
    'objectId': 27695,
    'pName':
      'Windows:"GoogleUpdaterInternalService138.0.7194.0"(Google ???????? (GoogleUpdaterInternalService138.0.7194.0))????(?????automatic)',
    'port': '10050',
    'severity': 3,
    'severityName': '一般',
    'status': 0,
    'time': 1751616912000,
  },
  {
    'acknowledged': 0,
    'clock': 1751616911,
    'eventId': 372804,
    'host': '192.168.8.1',
    'ip': '192.168.8.1:10050',
    'itemId': 55444,
    'key_': 'vfs.fs.dependent.size[C:,pused]',
    'name': 'SUNFL21062901',
    'objectId': 27644,
    'pName': 'Windows:FS [64WinXP (C:)]: ??????? (??????90%, ????? 447.1GB)',
    'port': '10050',
    'severity': 4,
    'severityName': '严重',
    'status': 0,
    'time': 1751616911000,
  },
  {
    'acknowledged': 0,
    'clock': 1751616907,
    'eventId': 372789,
    'host': '192.168.8.1',
    'ip': '192.168.8.1:10050',
    'itemId': 55507,
    'key_': 'service.info["FA_Scheduler",state]',
    'name': 'SUNFL21062901',
    'objectId': 27690,
    'pName':
      'Windows:"FA_Scheduler"(FortiClient VPN Service Scheduler)????(?????automatic)',
    'port': '10050',
    'severity': 5,
    'severityName': '灾难',
    'status': 0,
    'time': 1751616907000,
  },
  {
    'acknowledged': 0,
    'clock': 1751616888,
    'eventId': 372783,
    'host': '192.168.8.1',
    'ip': '192.168.8.1:10050',
    'itemId': 55548,
    'key_': 'service.info["SCardSvr",state]',
    'name': 'SUNFL21062901',
    'objectId': 27731,
    'pName': 'Windows:"SCardSvr"(Smart Card)????(?????automatic)',
    'port': '10050',
    'severity': '',
    'severityName': '未知',
    'status': 0,
    'time': 1751616888000,
  },
  {
    'acknowledged': 0,
    'clock': 1751616761,
    'eventId': 372741,
    'host': 'sunflvm',
    'ip': '192.168.8.130:10050',
    'itemId': 55300,
    'key_': 'system.swap.size[,pfree]',
    'name': 'sunflvm',
    'objectId': 27589,
    'pName': 'Linux: sunflvm????????? (?? 50%)',
    'port': '10050',
    'severity': 2,
    'severityName': '??',
    'status': 0,
    'time': 1751616761000,
  },
];

/**
 * 右侧
 */

// 主机状态统计
let hostStatusCount = [
  { 'count': 3, 'hostStatus': '可监控主机' },
  { 'count': 0, 'hostStatus': '不可监控主机' },
  { 'count': 0, 'hostStatus': '未知监控主机' },
];

// 待处理问题主机
let pendingAlarmMachine = [
  { 'count': 7, 'hostId': '10691', 'hostName': 'SUNFL21062901' },
  { 'count': 1, 'hostId': '10689', 'hostName': 'sunflvm' },
];

const dataInit = () => {
  /**
   * 左侧
   */
  // 告警严重性分类
  // ajax拿到数据后执行
  alarmSeverityClassInit();
  // 告警问题严重性及问题数量
  severityAlertsInit();

  // 主机组告警数（top10）
  // ajax拿到数据后执行
  pendingIssueLeftInit();

  // 告警趋势
  alertTrendsInit();

  /**
   *  中间
   */
  // 主机数量
  hostCountInit();
  // 监控失效主机
  disMonitoredHostCountInit();
  // 未归类主机
  unsortedHostCountInit();
  // 主机组数量
  hostGroupCountInit();
  /**
   *
   */
  // 告警主机组数
  hostAlarmCountInit();
  // 待处理告警数

  pendingAlarmCountInit();
  // 监控服务机

  monitorServerCountInit();
  // 已处理告警数

  solvedAlarmCountInit();

  /**
   * 地图
   */
  hostLocationInit();

  /**
   * 表格
   */
  renderPendingAlarmTable();
  /**
   * 右侧
   */
  // 主机状态统计
  hostStatusInit();
  // 待处理问题主机
  pendingIssueRightInit();
};

dataInit();
// 定时刷新页面
setInterval(() => {
  // console.log('5分钟刷新页面');
  dataInit();
}, 5 * 60 * 1000); //5 * 60 * 1000
